package com.xxy.book.dao;

import com.xxy.book.entity.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Xu XianYun
 * @Date 2022-12-16
 * @Description
 */

@Mapper
public interface BookMapper {

    /* 根据 id 查询书籍 */
    Book selectBookById(@Param("id") Integer id);

    /* 分页查询书籍 */
    List<Book> selectAllBooks(@Param("offset") int offset, @Param("size") int size);

    /* 查询所有书籍数目 */
    int selectAllBooksCount();

    /* 根据 bookName 模糊查询书籍(分页) */
    List<Book> selectBookByName(@Param("bookName") String bookName, @Param("offset") int offset, @Param("size") int size);

    /* 根据 bookAuthor 模糊查询书籍(分页) */
    List<Book> selectBookByAuthor(@Param("author")String author, @Param("offset")int offset, @Param("size")int size);

    /* 根据书名模糊查询书籍的数目 */
    int selectLikeCountByName(@Param("bookName")String bookName);

    /* 根据作者查询模糊查询书籍的数目 */
    int selectLikeCountByAuthor(@Param("author")String author);

    /* 新增 书籍 */
    int insertBook(Book book);

    /* 修改书籍信息 */
    int updateBookInfo(@Param("id") Integer id, Book book);

}
